package com.totoro.tymapping.utils;

import org.bukkit.ChatColor;

import java.awt.*;

/**
 * @author TOTORO
 * @date 2024/8/26 15:22
 */
public class ColorUtil {
    public static String color(String color) {
        if(null == color) {
            return null;
        }
        return color.replaceAll("&", "§");
    }

    public static String cleanColor(String color) {
        return color.replaceAll("§", "&");
    }


    public static String translateStringColor(String str) {
        return str.replaceAll("§", "&");
    }

    public static Boolean strEquals(String str1, String str2) {
        if(null == str1 || null == str2) {
            return false;
        }
        if(str1.equals(str2)) {
            return true;
        }
        if(translateStringColor(str1).equals(translateStringColor(str2))) {
            return true;
        }
        if(stripColor(str1).equals(stripColor(str2))) {
            return true;
        }
        return color(str1).equals(color(str2));
    }

    public static Boolean strContains(String str1, String str2) {
        if(null == str1 || null == str2) {
            return false;
        }
        if(str1.contains(str2)) {
            return true;
        }
        if(translateStringColor(str1).contains(translateStringColor(str2))) {
            return true;
        }
        if(stripColor(str1).contains(stripColor(str2))) {
            return true;
        }
        return color(str1).contains(color(str2));
    }

    public static String stripColor(String str) {
        if (str == null)
            return null;
        return ChatColor.stripColor(str);
    }

    public static Color getColorByHtmlColor(String htmlColor) {
        return Color.decode("0x" + htmlColor.substring(1));
    }
}
